Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Started custom data source implementation #259 #260

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

Kittyfisto
Copy link
Owner

@Kittyfisto Kittyfisto commented Dec 16, 2020

Fixes #259

Abstract

This merge request introduces the ability to add "UDP Data Sources" to tailviewer. The data source listens for incoming UDP datagrams on a particular endpoint and then interprets the payload of each datagram as a plain text log entry.
This new data source is implemented as a new plugin (which is shipped with the main tailviewer installer just like the serilog plugin) in order to not overload the main tailviewer source code. A new plugin interface for custom data sources was introduced which allows future plugins to implement all kinds of data sources (for example a data source to display the windows event log comes to mind, but its implementation is outside of the scope of this MR). The UI was then extended to allow the user to add a new custom data source, choosing from one of the available custom data sources. After its creation, a custom data source isn't that much different from the existing data source: It's a singular data source and may be grouped with other data sources, filtered, etc... just like any other.

Details

Additions to tailviewer's plugins:

  • Introduced new plugin interface to add new custom data sources to tailviewer via plugins

Additions to tailviewer:

  • Add new data source type 'CustomDataSource'
  • Write tests for class CustomDataSource
  • Write tests for class CustomDataSourceId
  • Write Clone/Store/Restore tests for additions in (Settings) DataSource
  • Introduce ViewModel for new 'CustomDataSource'
  • Introduce DataTemplate for new 'CustomDataSource'

UDP Data Source Plugin:

  • Add new plugin interface to allow displaying UDP datagrams
  • Add new plugin to installer
  • Implement new plugin interface to allow displaying UDP datagrams
  • Write tests for class UdpCustomDataSourceConfiguration
  • Write tests for class UdpDataSourceViewModel
  • Write tests for class UdpLogFile
  • Write tests for class UdpDataSourcePlugin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Introduce UDP custom data source
1 participant